package ute.mvc.dto;


import java.util.Date;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.NotEmpty;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.multipart.MultipartFile;

import ute.mvc.model.Assignment;
import ute.mvc.model.MyFile;
import ute.mvc.util.DateTimeSerializer;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;

public class NewAssignmentDTO {
	
	private String assignmentId;
	@NotEmpty
	private String assignmentName;
	@Min(1)
	private int timeSubmitAllow;
	
	@NotNull
	@JsonSerialize(using = DateTimeSerializer.class)
	@DateTimeFormat(pattern = "dd/MM/yyyy hh:mm:ss")
	private Date startDay;
	
	@NotNull
	@JsonSerialize(using = DateTimeSerializer.class)
	@DateTimeFormat(pattern = "dd/MM/yyyy hh:mm:ss")
	private Date endDate;
	
	private String description;
	@Min(1)
	private int maxPoint;
	private MultipartFile file;
	
	public String getAssignmentId() {
		return assignmentId;
	}
	public void setAssignmentId(String assignmentId) {
		this.assignmentId = assignmentId;
	}
	public String getAssignmentName() {
		return assignmentName;
	}
	public void setAssignmentName(String assignmentName) {
		this.assignmentName = assignmentName;
	}
	public int getTimeSubmitAllow() {
		return timeSubmitAllow;
	}
	public void setTimeSubmitAllow(int timeSubmitAllow) {
		this.timeSubmitAllow = timeSubmitAllow;
	}
	public Date getStartDay() {
		return startDay;
	}
	public void setStartDay(Date startDay) {
		this.startDay = startDay;
	}
	public Date getEndDate() {
		return endDate;
	}
	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}
	public String getDescription() {
		return description;
	}
	public void setDescription(String description) {
		this.description = description;
	}
	public MultipartFile getFile() {
		return file;
	}
	public void setFile(MultipartFile file) {
		this.file = file;
	}
	public int getMaxPoint() {
		return maxPoint;
	}
	public void setMaxPoint(int maxPoint) {
		this.maxPoint = maxPoint;
	}
	
}
